package metamodel.transformer;

import metamodel.ClassNode;
import metamodel.CollectionRef;
import metamodel.FlatProperty;
import metamodel.transformer.PropertyValue;

import java.util.List;
import java.util.Collection;

/**
 * User: fleipold
 * Date: 05-Dec-2007
 * Time: 16:08:43
 */
public interface BottomUpTreeTransformer {
    public Object mapObject(ClassNode meta, List<PropertyValue> mappedProperties, Object originalObject);
    public Object mapCollection(CollectionRef meta, Collection mappedElements, Collection originalCollection);
    public Object mapFlatProperty(FlatProperty meta, Object value);
}
